package cn.bocai.pc.util;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Component;

import freemarker.template.Configuration;
import freemarker.template.Template;
/** 
 * @className: FMutil
 * @description: freemarker模板工具类
 * @author: 99fu
 * @date: 2015年06月26日 下午6:20:31
 * @explain :
 * 
 * @修改人：
 * @修改时间：
 * @修改内容：
 */
@Component
public class FMutil {
	
	/**
	 * 
	 * @param ftlName:模板的名字
	 * @param fileName:生成之后页面的名字
	 * @param map数据
	 * @throws Exception
	 */
	public void ouputFile(String ftlName, String fileName,  Map<String, Object> map) throws Exception{
//		String realPath = request.getSession().getServletContext().getRealPath("/");
//		String ym=request.getServerName();
//		String dk=request.getServerPort();
		//创建fm的配置
		Configuration config = new Configuration();
		//指定默认编码格式
		config.setDefaultEncoding("UTF-8");
		//设置模板的包路径
		config.setClassForTemplateLoading(this.getClass(), "/cn/bocai/pc/ftl");
		//获得包的模板
		Template template = config.getTemplate(ftlName);
		//指定文件输出的路径   
		String path = "C:/java/bocai/bocai/pc-portal/src/main/webapp/static";
		//定义输出流，注意的必须指定编码
		Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(path+"/"+fileName)),"UTF-8"));
		//生成模板
		template.process(map, writer);
	}
	
	public static void main(String[] args) throws Exception {
		Map map=new HashMap<String,Object>();
		FMutil fMutil = new FMutil();
		fMutil.ouputFile("pictureDescription.ftl", "aa.html", map);
		
	}

}
